The present invention relates to spindle motors of disk drives, and more particularly to a spindle motor controller for head loading in disk drives.
Digital data storage conventionally utilizes disk drives with rotating rigid disks. Technology improvements have tried to increase the storage capacity and accuracy of disk drives while reducing the weight and power consumption. With the improvements, even greater emphasis has been placed on accurately controlling the speed of the spinning disks. Normally, an attempt is made to maintain the spindle motor speed of the drive at a constant velocity through application of a steady-state current to the spindle motor with some associated feedback correction in the form of a standard control or servo loop.
FIG. 1 illustrates a classical spindle speed control loop. As shown, a proportional integral digital controller 10, usually in the form of firmware, sends a control output signal to a digital-to-analog converter (D/A) 12. The D/A 12 translates the control signal into analog form for input into a motor predriver 14 that utilizes the signal to adjust the speed of the spindle motor 16. The speed of the spindle motor 16 is sent from the motor predriver 14 as tachometer pulses that are counted by a digital counter 18 to determine a frequency of the pulses that provides a measurement of the period between the pulses to estimate the speed of the spindle motor 16. This measured speed signal is then subtracted from an input reference signal that has a constant period to provide a speed error signal. The speed error signal is utilized as feedback in the digital controller 10 to adjust the spindle motor speed proportional to the desired constant speed for the spindle motor 16.
A recognized problem in modern disk drives is the force of drag that results from the interaction between the head of the drive and the air that circulates around the disks as the disks rotate at high velocity. Some systems, such as those described in U.S. Pat. Nos. 5,473,230 and 5,592,345, attempt to overcome the force of drag during head positioning. These systems, however, base their compensation according to a location or zone of the disk over which the head is positioned. While seemingly compensating for drag during head positioning, a problem still exists at the instant the head is loaded, since the drag torque on the spindle motor increases, which decelerates the motor. In a high velocity drive with multiple platters and multiple heads, this deceleration can be large enough to cause the motor to slow to a speed that is outside of its normal operating tolerance. Further, the response by the speed controller to the unexpected load change also results in a delay in returning the spindle speed to an acceptable value. The delay causes an increase in the time required for the loading process to complete while the motor speed recovers and can slow initial access to data during system start-up or error recovery.
Accordingly, what is needed is a system and method for controlling the spindle motor speed to within a specified tolerance during the head loading process. The present invention addresses such a need.
Method and system aspects for controlling spindle motor speed during head loading in a disk drive are described. The aspects include inputting a time-varying reference velocity profile signal, and selecting a controller to control spindle motor speed. Further included is feeding forward control signals sufficient to precompensate for drag during a head loading event and maintain spindle motor speed within an operating tolerance.
Through the present invention, precompensation for drag effects during a head load from a ramp position in a disk drive reduces potential for delay through a servo control loop when achieving appropriate spindle speed. These and other advantages of the present invention will be more fully understood in conjunction with the following detailed description and accompanying drawings.